[Statedef -2]

;type setting
[State ] ;alters defeat conditions
type = VarSet
triggerall = !ishelper
trigger1 = roundstate = 0
sysvar(4) = 2
ignorehitpause = 1
persistent = 1
;1 = body only
;2 = helper & body
;-------------------------------------------------------------------------------
[State 0, DisplayToClipboard]
type = DisplayToClipboard
trigger1 = !ishelper
text = "sv2:%d,sv4:%d,sv0:%d,v50:%d"
params = sysvar(2),sysvar(4),sysvar(0),var(50)
ignorehitpause = 1
persistent = 1
[state -2]
type = AppendToClipboard
trigger1 = !ishelper&&sysvar(4)=1
text = "\ngametime(body):%d"
params = sysvar(1)&1024
ignorehitpause = 1
[state -2]
type = AppendToClipboard
trigger1 = !ishelper&&sysvar(4)=2
text = "\ngametime(body):%d,gametime(helper):%d"
params = sysvar(1)&1024,sysvar(3)&2024
ignorehitpause = 1
;-------------------------------------------------------------------------------
[State 0, StateTypeSet]
type = StateTypeSet
triggerall = !ishelper
trigger1 = movetype = H
movetype = I
ignorehitpause = 1

[State ]
type=ctrlset
trigger1=!ishelper
value=(roundstate=3)
ignorehitpause=1

[State ]
type = Assertspecial
trigger1 = !ishelper
flag = nostandguard
flag2 = nocrouchguard
flag3 = noairguard
ignorehitpause = 1

[State ]
type = Assertspecial
trigger1 = !ishelper
flag = nokoslow
ignorehitpause = 1

[State , G]
type = Nothitby
triggerall = !ishelper
trigger1 = roundstate != 2
value = SCA
ignorehitpause = 1

[State ]
type = powerset
trigger1 = !ishelper
value = powermax
ignorehitpause = 1

[State ]
type = lifeset
trigger1 = ishelper
value = lifemax
ignorehitpause = 1

[State ]
type = Screenbound
trigger1 = ishelper
value = 0
ignorehitpause = 1

[State ]
type = AssertSpecial
trigger1 = ishelper
flag = Noshadow
ignorehitpause = 1

[state ]
type = posset
trigger1 = !Ishelper
y = 0
ignorehitpause = 1

[State -3]
type = assertspecial
triggerall = !ishelper&&alive
trigger1 = pos x-enemy,pos x>0
trigger1 = facing=-1
trigger2 = pos x-enemy,pos x<0
trigger2 = facing=1
flag = noautoturn
ignorehitpause = 1

[State -3]
type = turn
triggerall = !ishelper&&alive
trigger1 = pos x-enemy,pos x>0
trigger1 = facing=1
trigger2 = pos x-enemy,pos x<0
trigger2 = facing=-1
ignorehitpause = 1
;-------------------------------------------------------------------------------
[State ]
type = Explod
triggerall = !ishelper&&roundstate = [0,1]
trigger1 = !NumExplod(101989)
anim = 988893
id = 101989
postype = Left
pos = 2 + (TeamSide = 2) * 216,180
bindtime = -1
removetime = -1
scale = 0.25,0.25
ownpal = 1
sprpriority=9999999999
ontop = 1
supermovetime = 999999999999
pausemovetime = 999999999999
ignorehitpause = 1

[State ]
type = RemoveExplod
triggerall = !ishelper
trigger1 = roundstate != [0,1]
ID = 101989
ignorehitpause=1

[state level 1]
type=explod
triggerall = !ishelper&&numenemy
triggerall = numexplod(3335) = 0
triggerall = sysvar(4) = 1
trigger1 = roundstate = 2
id=3335
anim=3335
postype=left;back
pos=ifelse(teamside=2,288,0),105
random=0,0
sprpriority=9999999999
removetime=-1
bindtime=-1
scale = 0.25,0.25
ontop=1
ownpal=1
vel=0,0
accel=0,0
facing=1
vfacing=1
ignorehitpause=1
supermovetime=99999999
pausemovetime=99999999

[state level 2]
type=explod
triggerall = !ishelper&&numenemy
triggerall = numexplod(3335) = 0
triggerall = sysvar(4) = 2
trigger1 = roundstate = 2
id=3335
anim=3336
postype=left;back
pos=ifelse(teamside=2,288,0),105
random=0,0
sprpriority=9999999999
removetime=-1
bindtime=-1
scale = 0.25,0.25
ontop=1
ownpal=1
vel=0,0
accel=0,0
facing=1
vfacing=1
ignorehitpause=1
supermovetime=99999999
pausemovetime=99999999
;-------------------------------------------------------------------------------
[state gametime penetration body]
type=explod
triggerall = !ishelper
trigger1 = var(50) = gametime+29
trigger1 = sysvar(0) != gametime
trigger1 = !(sysvar(1)&1024)
id=60
anim=6000+100*(teamside=2)
postype=left
pos=181*(teamside=2),40+random%60
scale=0.35,0.35
bindtime=-1
removetime=152
ontop=1
ownpal=1
pausemovetime=2147483647
supermovetime=2147483647
ignorehitpause= 1

[State ]
type = PlaySnd
triggerall = !ishelper
trigger1 = var(50) = gametime+29
trigger1 = sysvar(0) != gametime
trigger1 = !(sysvar(1)&1024)
value = S69420,0
volume = 999999
channel = 3
ignorehitpause = 1

[State ]
type = varset
triggerall = !ishelper
trigger1 = var(50) = gametime+29
trigger1 = sysvar(0) != gametime
sysvar(1) = (sysvar(1)|1024)
ignorehitpause = 1
;-------------------------------------------------------------------------------
[state gametime penetration helper]
type=explod
triggerall = !ishelper&&sysvar(4)=2
triggerall = !NumExplod(61)
triggerall = !(sysvar(3)&2024)
trigger1=helper(600),var(50) != gametime+29
trigger1=helper(600),stateno != [600,601]
id=61
anim=7000+100*(teamside=2)
postype=left
pos=181*(teamside=2),120+random%60
scale=0.35,0.35
bindtime=-1
removetime=152
ontop=1
ownpal=1
pausemovetime=2147483647
supermovetime=2147483647
ignorehitpause=1

[State 0, PlaySnd]
type = PlaySnd
triggerall = !ishelper&&sysvar(4)=2
trigger1 = !(sysvar(3)&2024)
trigger1 = helper(600),var(50) != gametime+29
trigger1 = helper(600),stateno != [600,601]
value = S69420,0
volume = 999999
channel = 3
ignorehitpause = 1

[state ]
type=varset
triggerall = !ishelper&&sysvar(4)=2
trigger1 = helper(600),var(50) != gametime+29
trigger1 = helper(600),stateno != [600,601]
sysvar(3) = (sysvar(3)|2024)
pausemovetime=2147483647
supermovetime=2147483647
ignorehitpause=1
;-------------------------------------------------------------------------------
[State ]
type = Pause
trigger1 = 1
Time = 2147483647
MoveTime = 2147483647
IgnoreHitPause = 1

[State ]
type = Superpause
trigger1 = 1
Time = 2147483647
MoveTime = 2147483647
Anim = -1
Sound = -1
Darken = 0
P2DefMul = 1
PowerAdd = 0
Unhittable = 0
IgnoreHitPause = 1
;-------------------------------------------------------------------------------
[State 0, LifeSet]
type = LifeSet
trigger1 = !ishelper
value = ifelse(roundstate>=3,lifemax,lifemax-sysvar(2))
ignorehitpause = 1

[State 0, LifeSet]
type = varset
triggerall = !ishelper&&sysvar(4)=1
trigger1 = sysvar(1)&1024
sysvar(2) = 1001
ignorehitpause = 1

[State 0, LifeSet]
type = varset
triggerall = !ishelper&&sysvar(4)=2
trigger1 = sysvar(3)&2024
trigger1 = !sysvar(1)
sysvar(2) = 500
ignorehitpause = 1

[State 0, LifeSet]
type = varset
triggerall = !ishelper&&sysvar(4)=2
trigger1 = sysvar(3)&2024
trigger1 = sysvar(1)&1024
sysvar(2) = 1001
ignorehitpause = 1

[State 0, LifeSet]
type = LifeSet
triggerall = !ishelper
trigger1 = !alive
value = 0
ignorehitpause = 1
;-------------------------------------------------------------------------------
[State ]
type = Helper
triggerall = !ishelper
trigger1 = numhelper(600) = 0
name = "dummy(Gametime-Test)"
ID = 600
stateno = 600
Persistent = 0
postype = p1
pos = 0,0
keyctrl = 0
ownpal = 1
helpertype = player
supermovetime = 9999999
pausemovetime = 9999999
ignorehitpause = 1
;-------------------------------------------------------------------------------
[State ]
type = Helper
triggerall = !ishelper
trigger1 = numhelper(420) = 0
name = "anti-pause(Gametime-Test)"
ID = 420
stateno = 420
Persistent = 0
postype = p1
pos = 0,0
keyctrl = 0
ownpal = 1
helpertype = player
supermovetime = 9999999
pausemovetime = 9999999
ignorehitpause = 1
;-------------------------------------------------------------------------------
[State begone forced declaration]
type = assertspecial
triggerall = !ishelper
trigger1 = roundstate > 2
flag = noko
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
triggerall = !ishelper
trigger1 = var(50) != gametime+29
trigger2 = sysvar(0) != gametime
value = 69420
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
triggerall = !ishelper
triggerall = roundstate >= 3
trigger1 = anim = 69420
trigger2 = anim = 5150
trigger3 = anim = 181
trigger4 = anim = 170
trigger5 = anim = 191
value = ifelse(anim=69420,69420,anim)
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
triggerall = !ishelper
trigger1 = hitpausetime
value = 160000
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
trigger1 = ishelper(420)
value = 420
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
triggerall = ishelper(600)
triggerall = root,sysvar(4) = 1
trigger1 = stateno != 600 || movereversed
value = 601
ignorehitpause = 1

[State 0, SelfState]
type = SelfState
triggerall = ishelper(600)
triggerall = root,sysvar(4) = 2
trigger1 = stateno != 600 || movereversed
trigger2 = var(50) != gametime+29
value = 601
ignorehitpause = 1
;-------------------------------------------------------------------------------
[Statedef -3]

[State ]
type = varset
trigger1 = !ishelper
trigger2 = ishelper
var(50) = gametime+29
ignorehitpause = 1

[State ]
type = varset
trigger1 = !ishelper
sysvar(0) = gametime
ignorehitpause = 1
